package com.yl.chainStore.entity.user

import com.alibaba.druid.support.json.JSONUtils
import com.alibaba.fastjson.JSONObject
import com.baomidou.mybatisplus.annotation.IdType
import com.baomidou.mybatisplus.annotation.TableField
import com.baomidou.mybatisplus.annotation.TableId
import com.baomidou.mybatisplus.annotation.TableName
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler
import com.yl.chainStore.common.enums.TypeEnum
import com.yl.common.annotation.NoArg
import org.apache.ibatis.type.JdbcType
import java.util.*

/**
 * <p>
 * 用户
 * </p>
 *
 * @author cxw
 * @since 2021-10-22
 */
@NoArg
@TableName("company_user_operation_log")
data class CompanyUserOperationLog(

	/**
	 * id
	 */
	@TableId(value = "id", type = IdType.AUTO)
	var id: Long,

	/**
	 * 修改人
	 */
	@TableField("create_user_id")
	var createUserId: Long,

	@TableField(exist = false)
	var userName :String?= null,

	/**
	 * 关联id
	 */
	@TableField("associated_id")
	var associatedId: Long? = null,

	/**
	 * 创建id
	 */
	@TableField("create_time")
	var createTime: Date = Date(),


	/**
	 * 大类型 查询用 741 - 840 部分
	 */
	@TableField("model_type")
	var modelType: TypeEnum = TypeEnum.OMPANY_USER_OPERATION_LOG_MODEL_TYPE_OTHER,

	/**
	 * 小模块类型（表）查询用 841 - 1100 部分
	 */
	@TableField("table_type")
	var tableType: TypeEnum = TypeEnum.COMPANY_USER_OPERATION_LOG_TABLE_TYPE_OTHER,

	/**
	 * 修改类型（新增，修改，删除）
	 */
	@TableField("update_type")
	var updateType: TypeEnum = TypeEnum.COMPANY_USER_OPERATION_LOG_UPDATE_TYPE_NEW_ADD,

	/**
	 * 对应哪位患者（查询用）
	 */
	@TableField("customer_id")
	var customerId: Long? = null,

	@TableField(exist = false)
	var customerName :String ?= null,

	/**
	 * 组id
	 */
	@TableField("group_id")
	var groupId:Long ?= null,

	@TableField(exist = false)
	var details :  MutableList<CompanyUserOperationLogDetail>?= null
	)
